package com.ibm.iroo.addon.activiti;

import org.springframework.roo.model.JavaPackage;

/**
 * Interface of commands that are available via the Roo shell.
 *
 * @since 1.1.1
 */
public interface ActivitiOperations {

	/**
	 * Indicate of the Activiti setup command should be available
	 * 
	 * @return true if it should be available, otherwise false
	 */

	boolean isActivitiSetupCommandAvailable();

	boolean isActivitiExplorerSetupCommandAvailable();

	boolean isActivitiSamplesSetupCommandAvailable();

	/**
	 * @param propertyName to obtain (required)
	 * @return a message that will ultimately be displayed on the shell
	 */
	String getProperty(String propertyName);

	/**
	 * Install tags used for MVC scaffolded apps into the target project.
	 */
	void setupActiviti(JavaPackage packageName);

	void setupActivitiSamples();

	void setupActivitiExplorer();
}